package api.apiservice.apiopenplat.common.unifyDataForm;

import lombok.Data;

import java.io.Serializable;

    /*
    *
    * 统一返回格式类
    * */

    @Data
    public class Result<T> implements Serializable {

        /**
         * 信息码
         * */
        private Integer code;

        /**
         * 信息体
         * */
        private String messageContent;

        /**
         * 返回数据
         * */
        private T data;

        public Result(Integer code, String message,T data) {
            this.code = code;
            this.messageContent = message;
            this.data = data;
        }


        /**
         * 返回成功结果对象
         *
         */
        public static <T> Result<T> success() {
            return new Result<>(ResultVo.SUCCESS.code(),ResultVo.SUCCESS.message(),null);
        }

        /**
         * 返回成功结果对象，带数据
         * */
        public static <T> Result<T> success(T data){
            return new Result<>(ResultVo.SUCCESS.code(),ResultVo.SUCCESS.message(),data);
        }

        /**
         * 功能描述: 失败返回结果
         */
        public static <T> Result<T> error(ResultVo Result){
            return new Result<>(Result.getCode(),Result.getMessage(),null);
        }



    }
